Communication networks, including computer networks, increasingly rely on sequences of characters as addresses that are used to define the location of information. For example, a user desiring to view a particular Internet web page typically must enter a universal resource locator (URL) comprising a domain name and elements specifying a path or subpath under that domain name. Similarly, a telecommunication system using addresses such as the session initiation protocol utilizes universal resource locators to identify particular communication devices or the intended recipients of communications. Under such systems, when a user attempts to contact a particular address, the user is required to enter the correct address exactly. Any character entered in error or omitted from a sequence comprising a universal resource locator generally results in the generation of an error signal.
A universal resource locator typically includes a number of elements. For example, all URLs specify a domain name consisting of a name chosen by the holder of the domain and a suffix indicating the top level domain under which the domain is established (e.g., .com or .org). In addition, paths, which may include paths and subpaths, that are identified by additional elements appended to the domain name may be formed under the domain. The elements specifying paths and subpaths can be arbitrarily assigned by the holder of the domain and can be extremely lengthy. Accordingly, accessing a particular address within a domain can be difficult.
One method of dealing with an erroneously entered address is to present a static error page to the user. For example, a user attempting to access a particular web page may be provided with a static error notification page if the user incorrectly guesses the URL of the desired page, or if the user incorrectly enters or omits a character of the URL for that page. The error page is static in that it provides no more than general information regarding the error. For example, the user may simply be informed that the requested page is currently unavailable, for example, due to technical difficulties at the target website or due to improper browser settings.
Certain web pages may provide suggestions regarding web addresses that are similar to a URL or web address entered by the user when the entered address cannot be located. However, the suggested addresses are limited to suggested domain names, exclusive of paths and subpaths. Accordingly, the suggested address function is available only where a user fails to correctly enter the domain name. No assistance is provided to the user in locating a specific address existing under a domain.
Other systems are available to assist a user in locating a particular page where the user successfully enters a domain name. In particular, according to such systems, a user who correctly enters a domain name followed by a single element that does not correspond to the address or path of a page under that domain is provided with a list of pages that are of possible interest to the user. These systems operate by performing a search of pages existing under the specified domain for the term comprising the element appended to the domain name by the user. Pages containing information about that term are provided as search results. Accordingly, such systems are useful where a domain name followed by a search term is entered by the user. However, such sites are incapable of directing the user to a particular page where, for example, multiple pages incorporate information corresponding to the search term. In addition, such systems do not perform a search with respect to subpath elements specified by a user, limiting the usefulness of such systems in directing a user to a particular page.
Still other systems for directing a user to an intended universal resource locator dynamically rewrite the address entered by the user. In particular, a set of rules for replacing entered search terms with new search terms are followed. Such systems are useful, for example, where the address of a web page has been moved. However, such systems do not function well in response to URLs containing misspelled elements or other typographical errors. In particular, such systems are useful only in connection with entered addresses that correspond exactly with a superceded address.
Approaches for correcting information entered by a user, including checking entered terms against a dictionary are available. Alternate terms may then be presented to the user, and the user may then select those alternate terms, if desired. For example, such functions are available in connection with certain Internet search engines. In particular, such systems attempt to correct errors in the terms included in a set of search terms. However, such systems are not applicable to errors occurring within strings of characters comprising URLs.